Field
The present technology relates to systems and methods for archiving digital data. Specifically, the systems and methods provide for long term storage and retrieval of digital data by storing archived data and a platform independent accessor capable of accessing the archived data together within an archive.
Description of the Related Art
Digital multimedia and general digital data capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast systems, wireless communication devices such as radio telephone handsets, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, digital cameras, digital recording devices, video gaming devices, video game consoles, data servers, and the like. Digital devices implement image and video encoding techniques or formats such as JPEG, GIF, RAW, TIFF, PBM, MPEG-2, MPEG-4, and H.264/MPEG-4, Part 10, Advanced Video Coding (AVC), to store, transmit and receive digital images and video efficiently. Digital devices implement audio encoding techniques or formats such as, AAC, MP3, and WAV to store, transmit, and receive digital audio efficiently. Digital devices implement additional data and graphics encoding techniques or formats such as ICES, 3DT, PS, MNG, ODF, HDF5, NetCDF, and SVG. Digital devices implement document, spreadsheet, and presentation formats such as PowerPoint, PDF, Microsoft Word, Microsoft Excel, and the like. Digital devices further implement proprietary data storage formats for storage of scientific or other data.
Digital data are commonly encoded prior to transmission or storage by an encoder, e.g., a server. The encoding typically consists of operations such as compression or organization into a selected format. The digital data may be independently stored or provided to a user. Alternatively, the digital data may be embedded in other digital data. For instance, an image, video, data, or animation may be part of an electronic news article, electronic slideshow, or technical paper. In either case, the digital data must be accessed, that is, decoded or interpreted prior to display or play, by accessors resident on devices such as mobile devices, DVD players, tablets, laptops, computers, dedicated medical equipment, or set top boxes. However, a particular accessor may not support decoding or interpreting of the format used by the encoder. For example, the format used by the encoder may be a legacy format no longer supported or may be a new format that the accessor does not yet support.
Since different access techniques may support different formats, traditionally digital data needed to be encoded in many different formats to support many different decoders/interpreters on different hardware or operating system platforms. For example, a user downloading a compressed audio file from a server through a network such as the Internet may have many devices, such as a mobile phone, a TV set, a laptop, etc. The downloaded content is traditionally in a single format. However, each of the user's devices may be configured to decode a different format. Accordingly, the user may need to download multiple versions of the audio data, each in a different format, for each of the decoders. This leads to bandwidth usage of the network for each version downloaded in addition to storage space on servers and transcoding requirements. Alternatively, the user might download and install a new decoder for each encoder type on each device in order to decode the encoded audio. However, this solution requires that all legacy formats be supported on all devices. As a third alternative, the provider or user may transcode (decode and re-encode) the digital multimedia received from the downloaded format to each format required for each device. However, this requires computational resources to decode the digital multimedia from the received format and re-encode the digital multimedia into the desired format. Further, this requires memory resources to store each copy of the digital multimedia in each of the desired formats. Additionally, decoding and re-encoding of digital data can lead to loss in quality due to both the loss in precision and the fact that decoding and encoding processes for multimedia data are often lossy as opposed to lossless processes. Similar challenges arise when encoding and accessing other types of data, such as documents encoded in different generations of word processing applications or data encoded in proprietary formats.
One potential technique for avoiding transcoding and to adapt to video content, in particular, is to provide switches between pre-determined standardized algorithms and tools as suggested in 1997 in Section 2.2.1 of “The MPEG-4 Systems and Description Language: A Way Ahead in Audio Visual Information Representation,” by A. Ovaro, et al. As described in Section 2.2.1.3 of this document, the drawbacks include exhaustive specification of all configurations, difficulty of scaling up with increase in available tools, and challenges in anticipating future codec needs.
Similarly, a system for implementing reconfiguration of video/audio decompression algorithm elements using flexible or fixed libraries at both the encoder and decoder is proposed in Section 2.2.2 of “The MPEG-4 Systems and Description Language: A Way Ahead in Audio Visual Information Representation,” by A. Ovaro, et al. and described in more detail in “Whitepaper on Reconfigurable Video Coding (RVC),” ISO/IEC JTCI/SC20/WG11 document N9586, by E. Jang, et al. The proposed RVC method does not store or transmit decompression algorithms, but rather information about which tools to select from a decompression library is transmitted either prior to encoded audio/video transmission or is embedded within the compressed audio/video bitstream. In this solution, the algorithms or portions of the algorithms are stored locally at both the transmitter and the receiver in a standardized Video Tool Library, such that there is no fundamental code transmission. Systems for implementing intermittent configuration of algorithms are described in U.S. Pat. No. 5,987,181 describes decoding tools or algorithms that are selected from local libraries at the decoder through indicators embedded within a compressed bitstream.
Two systems for partially reconfiguring decoders without the use of local libraries at the decoder are given in “Dynamic Replacement of Video Coding Elements,” by Bystrom, et al., and in “A Syntax for Defining, Communicating, and Implementing Video Decoder Function and Structure” by Kannangara, et al. The first transmits a tool for an inverse transform at the start of an encoded video frame or transmits a binary patch for replacing code in a decoder as part of the compressed video stream. The latter transmits encoded algorithms or data within the compressed video, using synchronization codes to distinguish between compressed video and encoded algorithms, and adds the encoded algorithms to the decoder or replaces existing algorithms within the decoder.
The RVC project suggests using a pre-defined “iinf” box of an International Organization for Standardization Base Media File Format (ISO-BMFF) container to store reconfiguration instructions. See ISO/IEC JTC1/SC29/WG11 MPEG2011/M21222 (Section 3.1) for more information; however, it does not suggest a method for indicating or accessing the iinf box for non-video/image information. Further, it does not permit multiple sets of instructions, much less fundamental decoding algorithms, and does not accommodate user-supplied metadata. More specifically, the RVC standard relies on a video tool library with the exchanged XML specifying functional unit interconnects. No video decoder can be instantiated with solely the transmitted XML functional unit description. While a decoder employing these solutions can be instantiated based on a transmitted XML functional unit, a receiver/decoder must have a corresponding video tool library installed locally in order to act on the XML.